package config

import (
	"fmt"
	"io/ioutil"
	"log"
	"os"

	"github.com/joho/godotenv"
	"gopkg.in/yaml.v2"
)

var Conf Yaml

type Yaml struct {
	App struct {
		AppName string `yaml:"appName"`
		LogDir  string `yaml:"logDir"`
	} `yaml:"app"`
	Redis string `yaml:"redis"`
}

func Config_One() {
	fmt.Println("=======")
	fmt.Printf("Conf: %v\n", Conf)
}

func init() {
	err := godotenv.Load("./config/.env")
	if err != nil {
		log.Fatalf("Error loading .env file #%v ", err)
	}
	// 获取运行环境
	env := os.Getenv("ENV")
	// 读取配置文件
	yamlFile, err := ioutil.ReadFile("./config/" + env + ".yaml")
	if err != nil {
		log.Fatalf("yamlFile.Get err #%v ", err)
	}
	// 解析配置文件
	err = yaml.Unmarshal(yamlFile, &Conf)
	if err != nil {
		log.Fatalf("yaml Unmarshal: #%v", err)
	}
	panic("测试panic")
}
